//package net.dopan.pigframe.user.controller;
//
//import io.swagger.annotations.Api;
//import net.dopan.pigframe.core.aliyun.AliSendCode;
//import net.dopan.pigframe.core.redis.utils.RedisUtils;
//import net.dopan.pigframe.core.utils.JsonUtil;
//import net.dopan.pigframe.core.utils.MD5Utils;
//import net.dopan.pigframe.core.utils.PhoneCheckUtils;
//import net.dopan.pigframe.user.mapper.ActivityClassifyMapper;
//import net.dopan.pigframe.user.mapper.UserMapper;
//import net.dopan.pigframe.user.model.entity.User;
//import org.apache.commons.lang.StringUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.ResponseBody;
//import redis.clients.jedis.ShardedJedis;
//
//import javax.servlet.http.HttpServletRequest;
//import java.util.Date;
//import java.util.regex.Matcher;
//import java.util.regex.Pattern;
//
///**
// * @author wufeihong
// * 用户登录注册
// */
//@Controller
//@RequestMapping("/user" )
//@Api(tags = "用户登录注册(API)", description = "用户登录注册" )
//public class RegisterController {
//
//
//    @Autowired
//    private ActivityClassifyMapper classifyMapper;
//    @Autowired
//    private HttpServletRequest request;
//    @Autowired
//    private UserMapper userMapper;
//    private ShardedJedis jedis = RedisUtils.pool.getResource();
//    private String check = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z_]{6,20}$";
//    private Pattern regex = Pattern.compile(check);
//
//    /**
//     * 修改密码
//     *
//     * @return
//     */
//    @RequestMapping("/changePwd" )
//    @ResponseBody
//    public String changePwd() {
//
//        String phone = request.getParameter("phone" );
//        String code = request.getParameter("code" );
//        String password = request.getParameter("password" );
//
//        if (PhoneCheckUtils.isPhone(phone)) {
//            return JsonUtil.toErrorApi("手机号码格式不正确!" );
//        }
//        User user = userMapper.findByPhone(phone);
//        if (user == null) {
//            return JsonUtil.toErrorApi("该手机号码未注册!" );
//        }
//        if (!code.equals(jedis.get(phone))) {
//            return JsonUtil.toErrorApi("验证码错误!" );
//        }
//        Matcher matcher = regex.matcher(password);
//        if (!matcher.matches()) {
//            return JsonUtil.toErrorApi("密码为6～20位 数字+字母" );
//        }
//        //密码加密
//        String pwd = MD5Utils.getPwd(password);
//        user.setPassword(pwd);
//        if (userMapper.insert(user) > 0) {
//            jedis.del(phone);
//            return JsonUtil.toSuccessApi("密码修改成功!", user);
//        }
//        return JsonUtil.toErrorApi("网络错误,稍后重试!" );
//    }
//
//    /**
//     * 用户登录
//     *
//     * @return
//     */
//    @RequestMapping("/register" )
//    @ResponseBody
//    public String register() {
//
//        String phone = request.getParameter("phone" );
//        String password = request.getParameter("password" );
//
//        if (PhoneCheckUtils.isPhone(phone)) {
//            return JsonUtil.toErrorApi("手机号码格式不正确!" );
//        }
//        User user = userMapper.findByPhone(phone);
//        if (user == null) {
//            return JsonUtil.toErrorApi("该手机号码未注册!" );
//        }
//        String pwd = MD5Utils.getPwd(password);
//        if (pwd.equals(user.getPassword())) {
//            return JsonUtil.toSuccessApi("登录成功!", user);
//        }
//        return JsonUtil.toErrorApi("网络错误,稍后重试!" );
//    }
//
//    /**
//     * 用户注册
//     *
//     * @return
//     */
//    @RequestMapping("/enroll" )
//    @ResponseBody
//    public String enroll() {
//
//        /**
//         * 正则表达式 6～20位 数字+字母
//         */
//
//
//        String phone = request.getParameter("phone" );
//        String code = request.getParameter("code" );
//        String password = request.getParameter("password" );
//
//        if (!PhoneCheckUtils.isPhone(phone)) {
//            return JsonUtil.toErrorApi("手机号码格式不正确!" );
//        }
//        if (!code.equals(jedis.get(phone))) {
//            return JsonUtil.toErrorApi("验证码错误!" );
//        }
//        Matcher matcher = regex.matcher(password);
//        if (!matcher.matches()) {
//            return JsonUtil.toErrorApi("密码为6～20位 数字+字母" );
//        }
//        //密码加密
//        String pwd = MD5Utils.getPwd(password);
//
//        User user = new User();
//        user.setPassword(pwd);
//        user.setPhone(phone);
//        user.setUserName(phone);
//        user.setCreateTime(new Date());
//        if (userMapper.insert(user) > 0) {
//            jedis.del(phone);
//            return JsonUtil.toSuccessApi("注册成功!", user);
//        }
//        return JsonUtil.toErrorApi("网络错误,稍后重试!" );
//    }
//
//    /**
//     * 发送验证码
//     *
//     * @return
//     */
//    @RequestMapping("/sendCode" )
//    @ResponseBody
//    public String sendCode() {
//
//        String phone = request.getParameter("phone" );
//        /**
//         * 验证手机号码
//         */
//        if (StringUtils.isBlank(phone) || !PhoneCheckUtils.isPhone(phone)) {
//            return JsonUtil.toErrorApi("手机号码格式不正确!" );
//        }
//        /**
//         * 获取验证码
//         */
//        String code = AliSendCode.rundom();
//        /**
//         * 发送验证码
//         */
//        String msg = AliSendCode.sendCode(phone, code);
//        if (msg != null && msg.equals("OK" )) {
//            jedis.set(phone, code);
//            return JsonUtil.toSuccessApi(code);
//        }
//        return JsonUtil.toErrorApi("发送失败!" );
//    }
////    /**
////     * 获取活动类型
////     */
////    @RequestMapping("/getActivityClassify")
////    @ResponseBody
////    public String getActivityClassify(){
////        return JsonUtil.toSuccessApi("",classifyMapper.findAll());
////
////    }
//}